package com.naiterui.ehp.bs.recommend.service;


import com.naiterui.ehp.bp.support.exception.BusinessException;
import com.naiterui.ehp.bs.recommend.vo.prescription.PatientPrescriptionVO;
import com.naiterui.ehp.bs.recommend.vo.prescription.PrescriptionDetailVO;
import com.naiterui.ehp.bs.recommend.vo.prescription.PrescriptionVO;

/**
 * 处方笺相关service
 *
 * @version 2017年7月26日 by wangchuan
 * @Description
 */
public interface IPrescriptionService {

    /**
     * 获取初始化页面初始化信息
     *
     * @param doctorId  医生ID
     * @param patientId 患者ID
     *
     * @return
     *
     * @throws BusinessException
     * @Description
     * @author wangchuan
     * @Date 2017年7月28日
     * @since V2.9.0
     */
    PrescriptionVO getPrescription(Long doctorId, Long patientId, Long inquirerId) throws BusinessException;

    /**
     * 处方笺详情
     *
     * @param doctorId    医生ID
     * @param patientId   患者ID
     * @param recommendId 推荐单ID
     *
     * @return
     *
     * @throws BusinessException
     * @Description 历史处方和V2.9之后新处方
     * @author wangchuan
     * @Date 2017年7月28日
     * @since V2.9.0
     */
    PrescriptionDetailVO getPrescriptionDetailForDoctor(Long doctorId, Long patientId, Long recommendId, Boolean showExpire) throws BusinessException;

    /**
     * 获取患者端处方详情
     * IPrescriptionService.getPrescriptionDetailForPatient()
     *
     * @param doctorId
     * @param patientId
     * @param recommendId
     *
     * @return
     *
     * @throws BusinessException
     * @Date 2018年1月8日
     * @since 2.14
     */
    PatientPrescriptionVO getPrescriptionDetailForPatient(Long doctorId, Long patientId, Long recommendId) throws BusinessException;

}
